package se.webbzon.boltzmann.menu;

import se.webbzon.boltzmann.hud.CursorLayout;

public abstract class AbstractGameMenuLayout {
	
	// The layout of the pages in the game menu
	private final FlowPageLayout pageLayout;
	
	// The layout of the buttons in the game menu
	private final ButtonLayout buttonLayout;
	
	// The layout of the sliders in the game menu
	private final SliderLayout sliderLayout;
	
	// The layout of the labels in the game menu
	private final LabelLayout labelLayout;
	
	// The layout of the cursor in the game menu
	private final CursorLayout cursorLayout;
	
	/*============================================================
	Constructors
	============================================================*/

	/** Creates a new game menu layout. **/
	public AbstractGameMenuLayout(	FlowPageLayout pageLayout,
									ButtonLayout buttonLayout,
									SliderLayout sliderLayout,
									LabelLayout labelLayout,
									CursorLayout cursorLayout) {
		this.pageLayout = pageLayout;
		this.buttonLayout = buttonLayout;
		this.sliderLayout = sliderLayout;
		this.labelLayout = labelLayout;
		this.cursorLayout = cursorLayout;
	}
	
	/*============================================================
	Public Methods
	============================================================*/
	
	/** Returns the layout of the pages in the game menu. **/
	public FlowPageLayout getPageLayout() {
		return pageLayout;
	}
	
	/** Returns the layout of the buttons in the game menu. **/
	public ButtonLayout getButtonLayout() {
		return buttonLayout;
	}
	
	/** Returns the layout of the sliders in the game menu. **/
	public SliderLayout getSliderLayout() {
		return sliderLayout;
	}
	
	/** Returns the layout of the labels in the game menu. **/
	public LabelLayout getLabelLayout() {
		return labelLayout;
	}
	
	/** Returns the layout of the cursor in the game menu. **/
	public CursorLayout getCursorLayout() {
		return cursorLayout;
	} 
	
}
